package tree.nodeType;

import pools.PoolsManager;
import tree.Node;
import tree.TreeNodesManager;

public abstract class BooleanFunction  extends Function{

	public BooleanFunction(int sonsNeeded, Node parent,int depth) {
		super(sonsNeeded, parent,depth);
	}
	
	@Override
	public Node getRandNodeWithTheSameReturnType(int maxDepth,TreeNodesManager tnm){
		return PoolsManager.get().getRandomBooleanNode(getDepth(),maxDepth, getParent(),tnm);		
	}
	
	public BooleanFunction() {}
	public abstract boolean execute();
}
